home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 22 / AACD 22.iso / AACD / Programming / powerd / lib / powerd.lha / powerd_ppc / WaitIMessage.ass < prev    next >
Encoding:
Text File  |  1980-04-01  |  1.5 KB  |  86 lines

  1.     .text
  2.     .sdreg    r2
  3.     .align    2
  4. _WaitIMessage:
  5. ###############################################################################
  6. # name           offset
  7. # iaddr          0+0(r13)
  8. # qual           4+0(r13)
  9. # code           8+0(r13)
  10. # class          12+0(r13)
  11. # msg            16+0(r13)
  12. # port           20+0(r13)
  13. # args ###########################
  14. # win            24+0(r13)
  15.     mflr    r0
  16.     stw    r0,8(r1)
  17.     stwu    r1,-56(r1)
  18.     stw    r13,24(r1)
  19.     mr    r13,r1
  20.     stw    r3,24+28(r13)
  21.     lwz    r4,24+28(r13)
  22.     lwz    r3,86(r4)
  23.     stw    r3,20+28(r13)
  24. if0:
  25.     lwz    r3,20+28(r13)
  26.     bl    _GetMsg    # GetMsg
  27.     stw    r3,16+28(r13)
  28.     lwz    r0,16+28(r13)
  29.     mr.    r0,r0
  30.     bne    end0
  31. repeat2:
  32.     lwz    r3,20+28(r13)
  33.     bl    _WaitPort    # WaitPort
  34.     lwz    r3,20+28(r13)
  35.     bl    _GetMsg    # GetMsg
  36.     stw    r3,16+28(r13)
  37.     lwz    r0,16+28(r13)
  38.     mr.    r0,r0
  39.     beq    repeat2
  40. end2:
  41. end0:
  42.     lwz    r4,16+28(r13)
  43.     lwz    r3,20(r4)
  44.     stw    r3,12+28(r13)
  45.     lwz    r4,16+28(r13)
  46.     lhz    r3,24(r4)
  47.     stw    r3,8+28(r13)
  48.     lwz    r4,16+28(r13)
  49.     lhz    r3,26(r4)
  50.     stw    r3,4+28(r13)
  51.     lwz    r4,16+28(r13)
  52.     lwz    r3,28(r4)
  53.     stw    r3,0+28(r13)
  54.     lwz    r3,16+28(r13)
  55.     bl    _ReplyMsg    # ReplyMsg
  56. WaitIMessageend:
  57.     lwz    r3,12+28(r13)
  58.     lwz    r4,8+28(r13)
  59.     lwz    r5,4+28(r13)
  60.     lwz    r6,0+28(r13)
  61. WaitIMessagefinish:
  62.     lwz    r13,24(r1)
  63.     addi    r1,r1,56
  64.     lwz    r0,8(r1)
  65.     mtlr    r0
  66.     blr
  67.  
  68.     .global    _WaitIMessage
  69.     .type    _WaitIMessage,2
  70.     .size    _WaitIMessage,$-_WaitIMessage
  71. WaitIMessage_local:
  72.     .global    @_WaitIMessage_local
  73.     .extern    _GetMsg
  74.     .extern    _ReplyMsg
  75.     .extern    _WaitPort
  76.     .tocd
  77.     .extern    _PowerPCBase
  78.     .extern    _stdin
  79.     .extern    _stdout
  80.     .extern    _arg
  81.     .extern    _GfxBase
  82.     .extern    _IntuitionBase
  83.     .extern    _DOSBase
  84.     .extern    _ExecBase
  85.     .data
  86.